///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Apr 21 2008)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////

#ifndef __MyFrame__
#define __MyFrame__

#include <wx/statusbr.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/string.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/menu.h>
#include <wx/textctrl.h>
#include <wx/sizer.h>
#include <wx/statbox.h>
#include <wx/frame.h>

#include <wx/filedlg.h>
#include <wx/tokenzr.h>
#include <wx/grid.h>
#include <wx/msgdlg.h>
#include <iostream>
#include <fstream>

#include "MyMapTree.h"


#include "xdl/parser/parser.h"

using namespace std;


typedef bimap< Vertex, string > bm_vertex;

///////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////
/// Class MyFrame
///////////////////////////////////////////////////////////////////////////////
class MyFrame : public wxFrame 
{
	private:
            Parser xdl;
	protected:
		enum
		{
			ID_Open = 1000,
			ID_Find,
		};
		
		wxStatusBar* m_statusBar1;
		wxMenuBar* menuBar;
		wxMenu* fileMenu;
		wxMenu* instMenu;
		wxTextCtrl* xdlText;
		wxTextCtrl* llText;
		wxTextCtrl* trashText;
                wxGrid* instGrid;
                wxStaticBoxSizer* infoSizer;
                wxStaticBoxSizer* layout;
		
		// Virtual event handlers, overide them in your derived class
		void OnOpen( wxCommandEvent& event );
		void OnMap( wxCommandEvent& event );
		void OnDouble( wxMouseEvent& event );
		void OnLeftUp( wxMouseEvent& event );
                void OnCellEdit( wxGridEvent& event);
                //bm_vertex* vert_bm;
		
	public:
		MyFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 800,800 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
		~MyFrame();
                void resetTextStyle(wxTextCtrl* ctrlText );
                wxString tokenize(wxString selection, wxString selector);
                void retrieveInfoByVertex(wxString* site);
                void retrieveInfoByVertex(Vertex target);
                void highlight(long* line_number);
                void changeRowStyle(long line_number);
                void setSelectionLine(long line_number);
                void createGrid();
               
	
};

#endif //__MyFrame__
